/**
 * *************************************
 * Copyright(c)2016 Dingdang Yixia 
 * All Rights Reserved.
 *
 * @File: ICustomerService.java
 * @Package: com.ddyx.service
 * @Description:
 * 
 * @Version: V1.0
 * @Author: Yidong.Xiang
 * @Date: 2017年8月24日 上午11:34:29
 * 
 * *************************************
 */
package com.ddyx.service;

import java.util.Map;
import com.alibaba.fastjson.JSONObject;

/**
 * @ClassName: ICustomerService.java
 * @Module: 顾客业务逻辑接口模块
 * @Description: 包含顾客信息基本管理等功能。
 * 
 * @author: Yidong.Xiang
 * @date: 2017年8月24日 上午11:34:29
 * 
 */
public interface ICustomerService {

	/**
	 * 查询VIP顾客列表
	 * @param page
	 * @param size
	 * @param filter
	 * @return
	 */
	public String listVip(int page ,int size,String filter);
	/**
	 * 查询普通顾客列表
	 * @param page
	 * @param size
	 * @param filter
	 * @return
	 */
	public String listGuest(int page ,int size,String filter);
	/**
	 * 新增顾客
	 * @param faceId
	 * @param customerName
	 * @param nickname
	 * @param gender
	 * @param email
	 * @param mobile
	 * @param address
	 * @return
	 */
	public int addCustomer(int faceId,String customerName,String nickname,String gender,String email,String mobile,String address,int isvip,String contactId);
	/**
	 * 修改顾客
	 * @param customerId
	 * @param customerName
	 * @param nickname
	 * @param gender
	 * @param email
	 * @param mobile
	 * @param address
	 * @return
	 */
//	public int editCustomer(int customerId,String customerName,String nickname,String gender,String email,String mobile,String address,int isvip);
	public int editCustomer(JSONObject customer);
	public int saveAndUpdateCustomer(JSONObject customer);
	/**
	 * 获取顾客基本信息
	 * @param contactId
	 * @return
	 */
	public String getCustomer(String contactId);
	/**
	 * 获取顾客详细信息
	 * @param id
	 * @return
	 */
	public String getDocument(int id);
	/**
	 * 查询顾客交易记录
	 * @param page
	 * @param size
	 * @param id
	 * @return
	 */
	public String listDeal(int page ,int size,int id);
	/**
	 * 查询顾客进店事件
	 * @param page
	 * @param size
	 * @param faceid
	 * @return
	 */
	public String listEvent(int page ,int size,int faceId);
	/**
	 * 设置顾客交易关联
	 * @param billNo
	 * @param customerId
	 * @param storeId
	 * @return
	 */
	public Map<String,Object> setDeal(String billNo, int customerId,int storeId);
	/**
	 * 保存顾客头像
	 * @param customerId
	 * @param headImage
	 * @return
	 */
	public boolean saveHeadImage(int customerId,String headImage);	
	public String findByCustName(int page,int size,String customerName);
}
